package com.stylefeng.guns.modular.system.dao;

import com.stylefeng.guns.modular.system.model.VpnRealTimeData;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.stylefeng.guns.modular.vpn.entity.PayRatio;
import com.stylefeng.guns.modular.vpn.entity.RealTimeTodayInfo;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author stylefeng
 * @since 2020-03-11
 */
public interface VpnRealTimeDataMapper extends BaseMapper<VpnRealTimeData> {
    /**
     * 当天实时数据查询
     * @return
     */
    RealTimeTodayInfo findTodayRealTimeInfo();

    /**
     * 查询当天的在线时长汇总
     * @return
     */
    List<Map<String,Object>> queryTodayConnectInfo();

    /**
     * 查询记录中的当天在线总时长
     * @return
     */
    BigDecimal queryTodayOnlineTime();

    /**
     * 查询昨天在线总时长
     * @return
     */
    BigDecimal queryYesterdayOnlineTime();



    /**
     * 1-注册用户数
     * 实时图表数据查询
     */
    List<Map<String,Object>> regCountInfo();
    /**
     * 上线用户数
     * 实时图表数据查询
     */
    List<Map<String,Object>> onlineCountInfo();
    /**
     * 3-在线时长
     * 实时图表数据查询
     */
    List<Map<String,Object>> onlineTimeInfo();
    /**
     * 4-新增付费用户数
     * 实时图表数据查询
     */
    List<Map<String,Object>> paymentCountInfo();
    /**
     * 5-新增付费率
     * 实时图表数据查询
     */
    List<PayRatio> paymentRatioInfo();

    //查询注册详情数据
    List<Map<String, Object>> queryRegDetail();
    //查询在线详情数据
    List<Map<String, Object>> queryConnectDetail();
    //查询支付详情数据
    List<Map<String, Object>> queryPaymentDetail();
}
